﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OPF5.Domain;

namespace OPF5.Domain.Test
{
    class Program
    {
        static void Main(string[] args)
        {
            Jugador player1 = new Jugador();
            Jugador player2 = new Jugador();
            Jugador player3 = new Jugador();

            player1.nombre = "Alan";
            player2.nombre = "Claudio";
            player3.nombre = "Guille";

            InscripcionEstandar inscripcion1 = new InscripcionEstandar();
            InscripcionSolidaria inscripcion2 = new InscripcionSolidaria();
            InscripcionCondicional inscripcion3 = new InscripcionCondicional();

            Partido game1 = new Partido();

            PartidoInscripcionNotificado game1DecoratorA = new PartidoInscripcionNotificado();
            PartidoCompletoNotificado game1DecoratorB = new PartidoCompletoNotificado();
            PartidoBajaNotificado game1DecoratorC = new PartidoBajaNotificado();

            game1DecoratorA.SetPartido(game1);
            game1DecoratorB.SetPartido(game1DecoratorA);
            game1DecoratorC.SetPartido(game1DecoratorB);

            game1DecoratorC.InscribiA(player1, inscripcion1);
            game1DecoratorC.InscribiA(player2, inscripcion2);
            game1DecoratorC.InscribiA(player3, inscripcion3);

            game1DecoratorC.bajaA(player2, null, null);

            Console.WriteLine("Se dio de baja a: " + player2.nombre);

            foreach (Jugador player in game1.getJugadores())
            {
                Console.WriteLine(player.nombre);
            }

            Console.ReadLine();
        }
    }
}
